perm filename REWRIT.L70[L70,TES] blob sn#009945 filedate 1972-06-27 generic text, type T, neo UTF8
00100	LAYOUT BYTE_POINTER = (POSITION(36:6), SIZE(30:6), INDIRECT(23:1),
00200		INDEX(22:4), ADDRESS(18:18)) ;
00300	
00400	LAYOUT INSTRUCTION = (OPCODE(36:9), ACC(27:4), INDIRECT(23:1), INDEX(22:4),
00500		ADDRESS(18:18)) ;
00600	
00700	LAYOUT DESCRIPTOR = (LISTBIT(36:1), TYPEF(35:12), MARK(23:1), BASE(22:4),
00800		DISPLACEMENT(18:18)) ;
00900	
01000	LAYOUT LEX(N) = (BUCKETS(36:18), EXTRAS(18:18), INDICATORS(36:36*N),
01100		PROPERTIES(36:36*N)) ;
01200	
01300	LAYOUT VARIABLE = (VALUE(36:36), CONTEXT(36:18), FRDISP(18:18), FRENV(36:36) ;
01400	
01500	LAYOUT DPNT = (FAILADDR(36:36), SAVECTAG(36:36), SAVECBASE(36:36), SAVEEBASE(36:36),
01600		SAVEP(36:36), SAVETP(36:36), RSTR_STK(36:36)) ;
01700	
01800	
01900	LAYOUT LOWDPNT = (HIGHPTR(36:36), SAVECTAG(36:36), SAVECBASE(36:36), LOW_RSTR(36:36)) ;
02000	
02100	LAYOUT MIDDPNT = (FAILADDR(36:36), MIDP(36:36), MIDTP(36:36), RSTR_MID(36:36)) ;
02200	
02300	LAYOUT HIGHDPNT = (LOWPTR(36:36), HIGHEBASE(36:36), HIGHP(36:36), HIGHTP(36:36),
02400		HIGH_RSTR(36:36)) ;
02500	
02600	LAYOUT ENVIRON(SUCCESS(36:36), FAILURE(36:36), TRAPPER(36:36)) ;
02700		COMMENT SUCCESS & FAILURE ARE ENVIRONMENT DESCRIPTORS
02800			TRAPPER IS INDEX OF MODIFIED RETURN ADDRESS ;
     

00100	CONTEXTUAL FUNCTION FAILSET(L) =
00200		BEGIN
00300		PUSH(SS) ← REG(CTAG) ;
00400		PUSH(SS) ← REG(CBASE) ;
00500		REG(CBASE) ← REG(SS) - XWD(2,2) ;
00600		REG(TAG) ← REG(TAG) + ZWD(1,0,0) ;
00700		NN ← REG(P) + XWD(1,1) - MAP(ETAG) ;
00800		IF NN GREATERP MAXBLT THEN
00900			BEGIN
01000			COMMENT START NEW ENVIRONMENT ;
01100			E ← ENVIRONMENT(